package dp;

public class dp5 {


    public int maxProduct(int[] nums) {
        int n=nums.length;
        int []dp1=new int[n];
        int []dp2=new int[n];
        dp1[0]=nums[0];
        dp2[0]=nums[0];
        for(int i=1;i<n;i++){
            dp1[i]=Math.max(Math.max(dp1[i-1]*nums[i],nums[i]),dp2[i-1]*nums[i]);
            dp2[i]=Math.min(Math.min(dp1[i-1]*nums[i],nums[i]),dp2[i-1]*nums[i]);
        }
        int ret=Integer.MIN_VALUE;
        for(int i=0;i<n;i++)ret=Math.max(dp1[i],ret);
        return ret;
    }
}
